Home

VulnHub

Corrosion 2

El escaneo con Nmap muestra abiertos los puertos 22,80 y 8080 cor2 nmap.png En el puerto 80 corre una página por defecto de apache, pero en el 8080 un Apache Tomcat cor2 8080.png Si intentamos acceder al panel administración nos salta un panel de login en el que no funcionan las credenciales por defecto del servicio, por lo que se debe seguir investigando cor2 tomcat.png Probamos hacer fuzzing con Gobuster a ficheros con extensión, donde encontramos un readme.txt y un backup.zip cor2 gobuster.png El readme tiene un mensaje indicando que hay un archivo oculto para un usuario llamado randy cor2 readme.png Pasamos a descargar el archivo. Para descomprimirlo hace falta una contraseña que no tenemos, así que usaremos el módulo zip2john de John the Ripper cor2 zip2john.png Al descomprimir obtenemos varios ficheros, uno en específico es el tomcat-users.xml cor2 ficheros.png En el final del archivo encontramos unas credenciales. cor2 credenciales tomcat.png Si las probamos en el panel de administración de Tomcat funciona cor2 tomcat manager.png En este punto es posible obtener una reverse shell, por lo que pasamos a crear un fichero.war malicioso con MSFVenom cor2 msfvenom.png Cargamos el archivo malicioso cor2 reverse shell.png Lo ejecutamos y obtenemos la reverse shell cor2 shell.png En el sistema existen 2 usuarios: jaye y randy. cor2 users.png Nos cambiamos al usuario jaye reutilizando credenciales. Dentro de randy encontramos la 1ra flag y una nota del administrador del sistema. cor2 user.txt.png cor2 note.png Dentro de la ruta del usuario jaye vemos un directorio. Cuando entramos hay un archivo cuyo propietario es root pero podemos ejecutarlo. cor2 look.png El archivo permite la lectura de ficheros del sistema pero filtrando por una palabra cor2 file read.png Si dejamos el parámetro del string de filtro vacío podemos listar el archivo completo cor2 etcpasswd.png Apuntaremos contra el /etc/shadow para obtener el hash de la contraseña del usuario randy cor2 shadow.png cor2 pass randy.png Una vez crackeado el hash cambiamos al usuario randy cor2 sha.png Para escalar privilegios usaremos sudo -l , viendo que podemos ejecutar un archivo como root cor2 sudo -l.png El archivo básicamente imprime un texto pero cifrado en base64 cor2 base64.png Ya que no podemos modificar directamente el archivo, lo haremos con la biblioteca que utiliza, que se muestra con el comando sudo -l. Con este ataque caemos en un Library Hijacking cor2 find.png Modificamos directamente la biblioteca para que cuando se ejecute el archivo otorgue permisos a la bash. Insertaremos un código en python

os.system("chmod u+s /bin/bash")

cor2 chmod.png Ejecutamos el archivo python nuevamente, y si otorgamos los permisos a la bash seremos root. cor2 root bash.png cor2 flag root.png

← Volver al árbol de writeups